# error.py
# Contains all error classes. 
#
# Copyright Notice:
#
# Copyright 2010 Nathanael Abbotts (nat.abbotts@gmail.com),
# 
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#
# About the Project:
#
#    This code is part of an ongoing project to fully emulate all the processes
#    of a Wave server. It is fully extensible, and can be used for a variety of
#    purposes, including testing, use as a client library, and many others.
#
#    The latest source code can be found at http://wave-emulator.googlecode.com,
#    along with links to or code for any official extensions, and a full wiki
#    explaining all code functions & best uses, and an issue tracker & feature 
#    request process.

class DuplicateIdentifierException(Exception):
    """Raised when a Duplicate Identifer is discovered/created.
    
    An identifer can be a blip id, wavelet id, wave id, user id, etc."""
    pass

class InvalidIdentifierException(Exception):
    """Raised when an identifer does not match the standard form for its type"""
    pass

class OperationalTransformException(Exception):
    """Raised when Operational Transformation encounters an error"""
    pass

class InvalidAnnotationsException(Exception):
    """Raised when an invalid list of annotations is provided."""
